//
//  CZMainTabBar.swift
//  微博项目1
//
//  Created by zhang on 16/5/12.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

class CZMainTabBar: UITabBar {

    var composeCallBack: (() -> ())?
    override func layoutSubviews() {
        super.layoutSubviews()
        let width = self.frame.width/5
        
        var index = 0
        for view in self.subviews{
            // 找到UITabBarButton,才是按钮,需要修改frame值
            // UITabBarButton是系统隐藏的类 无法调用这个类的方法 [UITabBarButton class]
            if view.isKindOfClass(NSClassFromString("UITabBarButton")!){
                // 能到这里面来说明view 是 UITabBarButton类型
                // 重新设置frame
                view.frame = CGRect(x: CGFloat(index)*width, y: 0, width: width, height: self.frame.height)
                index++
                if(index==2){
                    index++
                }
            }
        }
        // 设置加好按钮的位置
        composeButton.frame = CGRect(x: 2*width, y: 0, width: width, height: self.frame.height)
    }
    func composeButtonClick(){
        composeCallBack?()
    }
    // MARK: - 懒加载
    lazy var composeButton: UIButton = {
        //创建按钮
        let button = UIButton(type: UIButtonType.Custom)
        // 设置按钮
        // 背景图片
        button.setBackgroundImage(UIImage(named: "tabbar_compose_button"), forState: UIControlState.Normal)
        button.setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"), forState: UIControlState.Highlighted)
        
        // 按钮的图片 tabbar_compose_icon_add_highlighted
        button.setImage(UIImage(named: "tabbar_compose_icon_add"), forState: UIControlState.Normal)
        button.setImage(UIImage(named: "tabbar_compose_icon_add_highlighted"), forState: UIControlState.Highlighted)
        
        self.addSubview(button)
        
        button.addTarget(self, action: "composeButtonClick", forControlEvents: UIControlEvents.TouchUpInside)
        
        return button
    }()
}
